In the modern society in which IT environments have been developed highly and the dependence to IT in daily life is increasing, influence of a failure of a computer system on the society is very large, and thus a demand for high availability of a computer system is increasing more and more. In such a high availability system, it is one of big challenges how efficiently to perform recovery when failures occur.
As one of methods for establishing a highly available system, a method by which a spare server is prepared in advance as a server of a standby system in addition to servers of an active system used in a usual operation, and, when a failure occurs in the active-system server, the system is continued by switching to the server of a standby system, for example. Also, in recent years, according to the advance of a capacity increase and a price reduction of a hard disk and a memory, and to the progress of virtualization technologies which divide one server into a plurality of servers virtually, it has become possible to build virtual servers of an active system and a virtual server of a standby system in a single server. Thus, technological environments that enable construction of a highly available system relatively cheaply are also being put into place.
As an example of a high availability system utilizing such virtualization technology, in Japanese Patent Application Laid-Open No. 1997-288590, there is disclosed a system for realizing a non-stop operation of a system by making one of child OSs generated by a virtual computer system exist as a standby system, and by making, when a child OS of an active system becomes incapable of performing processing any more due to a system malfunction, the child OS of the standby system take the processing over.
Also, as another example of a system to perform recovery processing at the time of failure occurrence efficiently, in Japanese Patent Application Laid-Open No. 1996-314875, there is disclosed a system in which, when a failure occurs in a distributed node in a distributed system, lost function substitution about an application task to be lost by the failure is performed between normal distributed nodes according to the priority of the node for determining a party who takes over the task.